package cn.teduymdj.jxc.mapper;


import cn.teduymdj.jxc.pojo.dto.SaleListAddNewDTO;
import cn.teduymdj.jxc.pojo.vo.SaleListListItemVO;
import cn.teduymdj.jxc.pojo.vo.SaleListStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理销售列表的mapper接口
 *
 * @author 欧阳林枫
 */
@Repository
public interface SaleListMapper {

    /**
     * 插入商品列表
     * @param saleListAddNewDTO
     * @return 受影响行数
     */
    int insert(SaleListAddNewDTO saleListAddNewDTO);

    /**
     * 批量插入商品列表
     * @param saleListAddNewDTOS
     * @return 受影响行数
     */
    int insertBatch(List<SaleListAddNewDTO> saleListAddNewDTOS);

    /**
     * 根据id删除商品列表
     * @param id
     * @return 受影响行数
     */
    int deleteById(Long id);

    /**
     * 根据id批量删除商品列表
     * @param ids
     * @return 受影响行数
     */
    int deleteByIds(Long[] ids);

    /**
     * 根据id修改商品列表
     * @param saleListAddNewDTO
     * @return 受影响行数
     */
    int update(SaleListAddNewDTO saleListAddNewDTO);

    /**
     * 查询统计商品列表数量
     * @return 统计数量
     */
    int count();

    /**
     * 根据备注名称统计商品列表
     * @param saleNumber
     * @return 商品数量
     */
    int countBySaleNumber(String saleNumber);

    /**
     * 根据id查询商品列表详情
     * @param id
     * @return 商品列表详情
     */
    SaleListStandardVO getStandardById(Long id);

    /**
     * 查询列表
     * @return 列表
     */
    List<SaleListListItemVO> list();
}
